Email has become a communications tool that is indispensable to many people today. Many popular desktop email systems, such as Outlook® and Eudora®, are designed for users to check their email from certain computers equipped with appropriate email client software. These types of software offer good performance, as the client applications are native applications of the computer's operating system. However, the users are not able to use email on a computer not properly configured with the right client software.
Gaining increased popularity are browser based email systems where a user uses a web browser to check his email over the world wide web, from any networked computer or electronic device. Since most computer systems today already have some form of web browser installed, no additional client application is needed. Using a browser, the user connects to a mail server via the Internet and carries out email activities. Most or all email data processing is done on the central mail server, while the browser acts as a “thin client” access point that primarily displays email data from the server. Examples of such email systems include Yahoo Mail and Hotmail. These systems are typically implemented using a request/response model, where every user request is transferred to the server as a hypertext markup language (HTML) FORM submission, using a hypertext transfer protocol (HTTP) POST or GET method. The server then replies with a response that includes a message in HTML format. For example, when the user clicks on a link representing the inbox, a POST request for the inbox information is sent to the server. The server then sends back a response that is an HTML page containing information about all the message headers in the inbox. The page is then displayed in the browser window.
Because the browser waits to receive the information from the server and then renders it, the user often experiences long latency while interacting with the system, i.e. the system appears slow and not responsive. The latency is attributed to the server response time and network delays. Also, when there are a lot of users on the same system, the server's response slows down and the network traffic increases, resulting in worse performance. Furthermore, any update in the appearance of the client application requires a new request to be sent to the server and another HTML page to be received from the server, adding more load to the server and the network. Due to latency concerns and the limitations of HTML, the user interface of these systems tends to be fairly minimalistic and does not support many of the advanced features found in desktop email applications.
It would be desirable to have a high performance, feature rich Internet based email system that eliminates the traditional request/response model in order to provide the user with faster responses and a highly improved user experience.